package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.domain.TreeEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;


/**
 * 业务分类视图对象 lc_business
 *
 * @author ruoyi
 * @date 2023-05-17
 */
@Data
@ExcelIgnoreUnannotated
public class LcBusinessVo extends TreeEntity<LcBusinessVo> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long businessId;

    /**
     * 上级业务
     */
    @ExcelProperty(value = "上级业务id")
    private Long superiorBusiness;

    /**
     * 上级业务
     */
    @ExcelProperty(value = "上级业务名称")
    private String superiorBusinessName;

    /**
     * 业务名称
     */
    @ExcelProperty(value = "业务名称")
    private String businessName;

    /**
     * 业务级别
     */
    @ExcelProperty(value = "业务级别")
    private Long businessLevel;

    /**
     * 业务编号
     */
    @ExcelProperty(value = "业务编号")
    private String businessCode;

    /**
     * 主办部门
     */
    @ExcelProperty(value = "主办部门id")
    private String deptIds;

    /**
     * 主办部门
     */
    @ExcelProperty(value = "主办部门id")
    private Long deptId;

    /**
     * 主办部门
     */
    @ExcelProperty(value = "主办部门")
    private String deptName;

    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 子级内容
     */
    private List<LcBusinessVo> children;

    private Integer number;

    /**
     * 评估状态（0:未评估，1:待评估，2:已评估）
     */
    private Integer initiateType;

    /**
     * 评估状态
     */
    @JsonFormat(pattern = "yyyy-MM")
    private Date initiateTime;

    private String processImageUrl;


}
